#ifndef THREADRECIBIDOR_H_
#define THREADRECIBIDOR_H_

#include <queue>
#include <iostream>

#include "Thread.h"
#include "Conexion.h"
#include "Condition.h"
#include "Protocolo.h"
#include "Respuesta.h"
#include "Funciones.h"

class InterfazPeer;

using namespace std;

class ThreadRecibidor: public Thread
{
private:
	InterfazPeer *interfaz;
	Conexion *conexion;
	Condition *conditionCLlegada;
	queue<Respuesta*> *colaLlegada;
	Protocolo *protocolo;

public:
	ThreadRecibidor(InterfazPeer *interfaz, Conexion *conexion, Protocolo *protocolo, Condition *conditionCLlegada, queue<Respuesta*> *colaLlegada);
	virtual ~ThreadRecibidor();
	virtual void* run();
	virtual void stop();
};

#endif /* THREADRECIBIDOR_H_ */
